package edu.uoc.vmerinom.tfc.domain;

// Generated 14-abr-2012 19:33:30 by Hibernate Tools 3.4.0.CR1

import static javax.persistence.GenerationType.IDENTITY;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Reunion generated by hbm2java
 */
@Entity
@Table(name = "reuniones")
public class Reunion implements java.io.Serializable {
	/** Default Serial Version ID */
	private static final long serialVersionUID = 1L;

	private Integer id;
	private Date creado;
	private Date modificado;
	private Date baja;
	private Date fecha;
	private String lugar;
	private String orden;
	private String acuerdos;
	private String observaciones;
	private boolean email;
	private List<Asistente> asistentes = new ArrayList<Asistente>(0);

	public Reunion() {
	}

	public Reunion(Date creado, Date modificado, Date fecha, String lugar, String orden, boolean email) {
		this.creado = creado;
		this.modificado = modificado;
		this.fecha = fecha;
		this.lugar = lugar;
		this.orden = orden;
		this.email = email;
	}

	public Reunion(Date creado, Date modificado, Date baja, Date fecha, String lugar, String orden, String acuerdos, String observaciones, boolean email,
			List<Asistente> asistentes) {
		this.creado = creado;
		this.modificado = modificado;
		this.baja = baja;
		this.fecha = fecha;
		this.lugar = lugar;
		this.orden = orden;
		this.acuerdos = acuerdos;
		this.observaciones = observaciones;
		this.email = email;
		this.asistentes = asistentes;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "id", unique = true, nullable = false)
	public Integer getId() {
		return this.id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "creado", nullable = false, length = 19)
	public Date getCreado() {
		return this.creado;
	}

	public void setCreado(Date creado) {
		this.creado = creado;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "modificado", nullable = false, length = 19)
	public Date getModificado() {
		return this.modificado;
	}

	public void setModificado(Date modificado) {
		this.modificado = modificado;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "baja", length = 19)
	public Date getBaja() {
		return this.baja;
	}

	public void setBaja(Date baja) {
		this.baja = baja;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "fecha", nullable = false, length = 19)
	public Date getFecha() {
		return this.fecha;
	}

	public void setFecha(Date fecha) {
		this.fecha = fecha;
	}

	@Column(name = "lugar", nullable = false, length = 500)
	public String getLugar() {
		return this.lugar;
	}

	public void setLugar(String lugar) {
		this.lugar = lugar;
	}

	@Column(name = "orden", nullable = false, length = 5000)
	public String getOrden() {
		return this.orden;
	}

	public void setOrden(String orden) {
		this.orden = orden;
	}

	@Column(name = "acuerdos", length = 5000)
	public String getAcuerdos() {
		return this.acuerdos;
	}

	public void setAcuerdos(String acuerdos) {
		this.acuerdos = acuerdos;
	}

	@Column(name = "observaciones", length = 5000)
	public String getObservaciones() {
		return this.observaciones;
	}

	public void setObservaciones(String observaciones) {
		this.observaciones = observaciones;
	}

	@Column(name = "email", nullable = false)
	public boolean isEmail() {
		return this.email;
	}

	public void setEmail(boolean email) {
		this.email = email;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "reunion")
	public List<Asistente> getAsistentes() {
		return this.asistentes;
	}

	public void setAsistentes(List<Asistente> asistentes) {
		this.asistentes = asistentes;
	}

}
